# 数据提取-jsonpath模块
"""
jsonpath模块的使用场景:jsonpath可以按照key对python字典进行批量数据提取

jsonpath模块的使用方法:
    安装: pip install jsonpath
    jsonpath模块提取数据的方法:
        from jsonpath import jsonpath
        ret = jsonpath(a, 'jsonpath语法规则字符串')
"""
# 使用示例
book_dict = {
    "store": {
        "book": [
            {"category": "reference",
             "author": "Nigel Rees",
             "title": "Sayings of the Century",
             "price": 8.95
             },
            {"category": "fiction",
             "author": "Evelyn Waugh",
             "title": "Sword of Honour",
             "price": 12.99
             },
            {"category": "fiction",
             "author": "Herman Melville",
             "title": "Moby Dick",
             "isbn": "0-553-21311-3",
             "price": 8.99
             },
            {"category": "fiction",
             "author": "J. R. R. Tolkien",
             "title": "The Lord of the Rings",
             "isbn": "0-395-19395-8",
             "price": 22.99
             }
        ],
        "bicycle": {
            "color": "red",
            "price": 19.95
        }
    }
}

from jsonpath import jsonpath

# 返回列表,如果取不到将返回False
# 获取所有作者信息
print(jsonpath(book_dict, '$.store.book[*].author'))
print(jsonpath(book_dict, '$..author'))
# ['Nigel Rees', 'Evelyn Waugh', 'Herman Melville', 'J. R. R. Tolkien']
